package com.hc.service;

import com.hc.common.bean.PageBean;
import com.hc.domain.Proj;
import com.hc.domain.User;
import com.hc.query.UserVO;

import java.util.List;

/**
 * @author: hecai
 * @date: 2021/11/9 11:17
 * @description:
 */
public interface UserService {


    int deleteByPrimaryKey(Long id);

    int activeByPrimaryKey(Long id);

    int disabledByPrimaryKey(Long id);

    int insert(User record);

    int insertSelective(User record);

    User selectByPrimaryKey(Long id);

    /**
     * 根据用户id删除未激活
     * @param id
     * @return
     */
    int deleteInactivatedByPrimaryKey(Long id);

    /**
     * 根据激活码更新
     * @param code
     * @return
     */
    int updateUserStatusByCode(String code);

    /**
     * @param pageNum 当前页
     * @param pageSize 每页的数据量
     * @param userVO 查找
     * @return
     */
    PageBean<User> selectPageByCondition(Integer pageNum, Integer pageSize, UserVO userVO);
    /**
     * 禁用用户界面
     * @param pageNum 页码
     * @param pageSize 页面大小
     * @return
     */
    PageBean<User> selectPageByConditionAnother(Integer pageNum, Integer pageSize, UserVO userVO);

    /**
     * 已经删除用户界面列表查询
     */
    PageBean<User> selectPageHasDelete(Integer pageNum, Integer pageSize, UserVO userVO);

    /**
     * 根据 登录名 查询用户信息
     * @param account
     * @return
     */
    User selectByAccount(String account);



    User selectBySalt(String salt);



    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);

    /**
     * 判断用户名是否被注册
     * @param account
     * @return
     */
    boolean isAccountExists(String account);

}